# 用 Python表示，4人中有一个人打碎了花瓶
# a说不是我，b说是c，c说是d，d说c撒谎
# 已知有3个人说了真话，根据以上对话，判断
# 是谁打碎了花瓶
from collections import Counter

arr=[
    ('a',['b','c','d']),    #a指控了 b c d
    ('b',['c']),            #b指控了 c
    ('c',['d']),            #c指控了 d
    ('d',['a','b','c']),    #d指控了 a b c
]
arr_r=[]
for e in arr:
    arr_r.extend(e[1])
print(Counter(arr_r))       #c被指控3次，有3个人说真话

# v2 语言还原版
dict_p={
    'a':lambda a:not a=='a',
    'b':lambda a:a=='c',
    'c':lambda a:a=='d',
    'd':lambda a:not a=='d'
}

for name in dict_p.keys():
    true_count=0
    for call_method in dict_p.values():
        if call_method(name):
            true_count+=1
    if(true_count>=3):
        print(name)
        break

# 学生版
for n in ['a','b','c','d']:
    if  (not n=='a')+(n=='c')+(n=='d')+(not n=='d') >=3:print(n)